約 4,163,572 件
https://w.atwiki.jp/aerocats/pages/43.html
主にLinuxで扱われる言葉だが、Linuxカーネル?とアプリケーションなどをパッケージして配布されるものを指す。 より詳細には、GNU/Linuxオペレーティングシステムを容易に導入できるようにした配布物をLinuxディストリビューションと呼ぶ。 本来はLinuxカーネル?を「Linux」と呼ぶため、これらディストリビューションを「ディストリ」「OS」などと呼ぶ。 つまり、自分の環境を説明するのに「Linuxを使っていてこういう不具合がある、どうすればいいだろうか」といった質問はあまりに抽象的であり誰にも答えることができないだろう。 玄箱PROでのディストリビューション 書籍やネットで玄箱PROへの導入可能なディストリビューションについて、今では様々な報告がある。 結局はARM?というCPUアーキテクチャーに対応していることが重要なのだが、ディストリビューション側の努力もあり、対応状況は日々変化している。 現在のところ以下のディストリビューションが玄箱PROに導入可能だ。 ディストリビューション名 系統 標準パッケージ管理システム 導入方法 Debian GNU/Linux Debian系 apt Debian化の方法 FedoraCore6 Redhat系 yum FedoraCore6化の方法 Fedora8 Redhat系 yum Fedora8化の方法 GentooLinux - Portage GentooLinux化の方法 ディストリビューションの特長 ディストリビューションが様々に存在する理由は、それぞれの配布者がそれぞれの利便性を盛り込むためであり、必然的にディストリビューションごとに突出したメリット・デメリットがある。 Debianとは Fedoraとは Gentooとは
https://w.atwiki.jp/ma-100140/pages/36.html
各バージョンによる設定の違い Vien Linux 4.2 CentOS release 4.8 (Final) Turbolinux Server 11 (Musasabi)2回目 Red Hat Enterprise Linux Version 5.5
https://w.atwiki.jp/sunflower387695/pages/64.html
DB起動 pg_ctl start -D /usr/local/pgsql/data DBアクセス psql DB名 表の一覧の表示 dt 表の項目一覧の表示 d 表名 インデックスの一覧の表示 di 表名 ユーザ一覧の表示 select usename from pg_user; データベース一覧と、データベースの文字コードの表示 l データの表示 select * from テーブル名; テーブルからファイルへデータコピー \copy テーブル名 to ファイル名 LinuxからWindowsへの移行(1)LinuxのPostgreSQL のDBをダンプ ラージオブジェクトが含まれるなどの場合を除き、 バイナリではなく、プレインテキストでとります。 postgresユーザにスイッチして、 $ pg_dump -F p out.sql (より確実には $ pg_dump -F p -d out.sql ) こうすると out.sql というダンプファイルが出来ます。これをWindowsサーバのどこかにコピーします。 たとえばC emp とか。 (2)WindowsのほうにDBを作る コマンドプロンプトを開きます。 PostgreSQLのコマンドに環境変数でパスを通していない場合は、PostgreSQLのbinに移動します。 cd C Program FilesPostgreSQL8.0in //たとえば移行後DBが、windbという名前なら createdb -U postgres -h localhost -E EUC_JP windb (3)ファイルを指定してリストアします。 psql -U postgres -h localhost windb C /temp/out.sql コマンド実行時には、いちいちpostgresユーザのパスワードを聞いてきます。 DBバックアップ # su - postgres$ pg_dump データベース名 バックアップファイル名
https://w.atwiki.jp/d4linux/pages/14.html
カーネル・カーネルモジュールのリビルド カーネル・カーネルモジュールのリビルド より小さいカーネルを 最新 ALSA ソースのマージ カーネルの再構築(ws016sh フレーバー)必要なパッケージを導入する カーネルソースを取得 フレーバーの作成 ビルド カーネルモジュールの再構築(ws016sh フレーバー)必要なパッケージを導入する カーネルモジュールのソースを取得 フレーバーの作成 debian/config/i386 ファイルを修正する。 ビルド カーネルの再構築(generic フレーバーのカスタマイズ)必要なパッケージを導入する カーネルソースを取得 ソースの修正 ビルド カーネルモジュールの再構築(generic フレーバーのカスタマイズ)必要なパッケージを導入する カーネルモジュールのソースを取得 debian/config/i386 ファイルを修正する。 ビルド メモ参考サイト 作業記録 現状の Ubuntu Hardy では、D4 の動作に必要な、psb,drm カーネルドライバと、無線用の SD8686 のドライバが組み込まれていない。これは、カーネルドライバの再構築で作れる。手順は以下の通り。 より小さいカーネルを 参考サイト http //andreas.goelzer.de/kernel-config-based-on-lsmod-output http //wiki.linuxquestions.org/wiki/Configuring_linux_kernel 最新 ALSA ソースのマージ http //d.hatena.ne.jp/kakurasan/20070629/p1 ここを参考にして、カーネルソースに ALSA ソースをマージしていく。(やり直したら成功したので前回の記事は消去)。 cd linux-2.6.24-custom/ mkdir ../alsa-driver-1.0.19/tmp mv Documentation/sound/alsa/ Documentation/sound/alsa.old mv include/sound/ include/sound.old mv sound/ sound.old mv ../alsa-driver-1.0.19/alsa-kernel/Documentation/ Documentation/sound/alsa mv ../alsa-driver-1.0.19/alsa-kernel/include/ include/sound mv ../alsa-driver-1.0.19/alsa-kernel/oss/ ../alsa-driver-1.0.19/alsa-kernel/scripts/ ../alsa-driver-1.0.19/tmp/ mv ../alsa-driver-1.0.19/alsa-kernel/ sound mv sound.old/oss/ sound 一応マージ完了。あとは、カーネルソースの include/sound/version.h を以下のように修正 $ cat include/sound/version.h /* include/version.h */ #define CONFIG_SND_VERSION "1.0.19" #define CONFIG_SND_DATE "(Mon Jun 19 20 22 00 2009 UTC)" 続いて、いよいよビルド。 debian/rules updateconfigs 全部、デフォルト値(Enter)で切り抜ける。 fakeroot debian/rules binary-ws016sh でけたー。でもしかし、これでブートするだけではダメらしい。dmesg に色々エラーが記録されていて、デバイスの初期化に失敗しているような・・・。実績のある 1.0.18a あたりで試すべきだったか。大量の Unknown symbol のエラーと、snd disagrees about version of symbol sound_class だそうな。(カーネルモジュールとカーネルとのバージョンの整合が取れていないらしい(http //blog.mnsoft.net/murmur/archives/2007/03/disagrees_about.html http //lists.atmark-techno.com/pipermail/armadillo/2007-November/002370.html)。現状では、マージしたALSA のコードはモジュールとしては生成されていなくて、LUM 側のモジュールの読み込み時にエラーが出ているよう。何のバージョンと何のバージョンとが不整合なのだろう? カーネルの再構築(ws016sh フレーバー) カーネルソースを修正して、既存のパッケージとは異なるパッケージでカーネルパッケージを作る。 必要なパッケージを導入する sudo aptitude install dpkg-dev fakeroot debhelper sudo aptitude install linux-kernel-devel devscripts libncurses5-dev ccache カーネルソースを取得 apt-get source linux-image-2.6.24-22-generic フレーバーの作成 以下のページに新たなフレーバーを追加する方法がかかれているのでそれにしたがって ws016sh フレーバーを追加した。 http //blog.avirtualhome.com/2008/10/28/how-to-compile-a-custom-kernel-for-ubuntu-intrepid-using-git/ ※debian/control debian/control.stub ファイル内のヘッダパッケージの定義で同バージョンのカーネルヘッダへの依存関係があったのを削除(→しちゃだめ) ビルド fakeroot debian/rules binary-ws016sh カーネルモジュールの再構築(ws016sh フレーバー) あらかじめ上で作成した ws016sh フレーバーのカーネルヘッダをインストールしておく。 dpkg -i linux-headers-2.6.24-22-ws016sh_2.6.24-22.45_i386.deb 必要なパッケージを導入する sudo aptitude install dpkg-dev fakeroot debhelper カーネルモジュールのソースを取得 apt-get source linux-ubuntu-modules-2.6.24-22-generic フレーバーの作成 http //blog.avirtualhome.com/2008/10/28/how-to-compile-a-custom-kernel-for-ubuntu-intrepid-using-git/ の記載に習って、以下のファイルを修正した。 debian/rules.d/i386.mk debian/control debian/control.stub debian/config/i386 ファイルを修正する。 CONFIG_DRM_PSB=m CONFIG_MMC_SD8686=m CONFIG_MMC_SD8688=m の2行を追加 ビルド fakeroot debian/rules binary-modules-ws016sh ※これでライブCDを作ろうとしたら、カーネルヘッダパッケージが依存関係の問題でインストールできなかった。 カーネルの再構築(generic フレーバーのカスタマイズ) 必要なパッケージを導入する sudo aptitude install dpkg-dev fakeroot debhelper sudo aptitude install linux-kernel-devel devscripts libncurses5-dev ccache カーネルソースを取得 apt-get source linux-image-2.6.24-19-generic ソースの修正 driver/usb/serial/pl2303.h driver/usb/serial/pl2303.c を修正した。 ビルド fakeroot debian/rules binary-generic カーネルモジュールの再構築(generic フレーバーのカスタマイズ) 必要なパッケージを導入する sudo aptitude install dpkg-dev fakeroot debhelper カーネルモジュールのソースを取得 apt-get source linux-ubuntu-modules-2.6.24-19-generic debian/config/i386 ファイルを修正する。 CONFIG_DRM_PSB=m CONFIG_MMC_SD8686=m CONFIG_MMC_SD8688=m の2行を追加 ビルド fakeroot debian/rules binary-modules-generic メモ 参考サイト http //https..wiki.ubuntu.com/KernelMaintenance#head-ef6ca858b4b97c1ad30639e34d92abb11ef37cf8 http //jody.sci.hokudai.ac.jp/~ike/blog/2007/06/kernelubuntu.html http //https..help.ubuntu.com/community/Kernel/Compile http //blog.avirtualhome.com/2008/10/28/how-to-compile-a-custom-kernel-for-ubuntu-intrepid-using-git/ http //blog.avirtualhome.com/2008/10/31/compiling-a-new-release-of-the-ubuntu-intrepid-kernel-using-git/ 作業記録 カーネルモジュールの構築ログ 14 sudo aptitude install dpkg-dev fakeroot debhelper 15 apt-get source linux-ubuntu-modules-2.6.24-19-generic 17 cd linux-ubuntu-modules-2.6.24-2.6.24/ 18 vi debian/config/i386 19 fakeroot debian/urles binary-modules-generic カーネルの構築 36 apt-get source linux-image-2.6.24-19-generic 38 cd linux-2.6.24/ 42 sudo aptitude install linux-kernel-devel devscripts libncurses5-dev ccache 46 fakeroot debian/rules binary-generic
https://w.atwiki.jp/coupledaysoff/pages/75.html
2008-08-26 17 13 56 (Tue) rm -f -r ディレクトリ名
https://w.atwiki.jp/linuxcrossmingw/pages/17.html
今回使用した MinGW-w64 GCC toolchains は、x86_64-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar.xz。 これを、/opt/gcc-4.7.2 にインストール。 $ wget http //sourceforge.net/projects/ ..path to.. /x86_64-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar.xz $ sudo tar xvf x86_64-w64-mingw32-gcc-4.7.2-release-linux64_rubenvb.tar.xz -C /opt $ sudo mv mingw64 gcc-4.7.2 ※ このアーカイブの構造は、mingw64 ディレクトリ以下を丸ごと tar してあるので、tar x で展開後に mv している。 /opt/gcc-4.7.2/bin へパスを通す。以下の行を ~/.bashrc に追加。 PATH=$PATH /opt/gcc-4.7.2/bin ~/.bashrc を反映。(cf.bash) $ source ~/.bashrc その他にすべきこと ファイルにシンボリックリンクを。 1. static な exe に を参考に。 2. windows.h mediainfo_cli のビルド時に、「Windows.h が無い」とエラーがでる。が、この tool chain にファイルは存在する。ファイル名がすべて小文字の「windows.h」である。なので、シンボリックリンクをはって対処する。 $ ln -s /opt/gcc-4.7.2/x86_64-w64-mingw32/include/windows.h /opt/gcc-4.7.2/x86_64-w64-mingw32/include/Windows.h
https://w.atwiki.jp/linux_kai/pages/46.html
Total - (Today - Yesterday - ) 最終更新日 2010/08/21 07 39 ここではdebian lennyでPLANEX GW-NS54CW (Atheros AR2413)をXLink Kai用として設定した際のメモを紹介する debian lenny(2.6.26-2-686)のリポジトリにはmadwifiが用意されているが、それは使用しない madwifiで公開されている最新版ドライバをダウンロードして使用した このページについての指摘や情報がありましたらコメントに投稿をお願いします 旧内容ページ 1.ドライバのインストール 2.ドライバとインタフェースの確認 3.その他 コメント 1.ドライバのインストール madwifiドライバをダウンロードしてインストールする $ uname -a Linux debian 2.6.26-2-686 #1 SMP Wed May 12 21 56 10 UTC 2010 i686 GNU/Linux GW-NS54CWが認識されているか確認する $ lspci 03 00.0 Ethernet controller Atheros Communications Inc. AR2413 802.11bg NIC (rev 01) SubVersionを追加する $ sudo aptitude install subversion madwifiをダウンロードする $ cd ‾/Downloads $ svn checkout http //madwifi-project.org/svn/madwifi/trunkmadwifi $ svn update madwifi madwifiをビルドする $ cd madwifi $ make clean $ make madwifiをインストールする $ sudo make install madwifiドライバをロードする $ sudo modprobe ath_pci madwifi初期化スクリプトを作成する SSIDにはMHP2Gのものを設定した $ sudo touch /usr/local/bin/madwifi_adhoc.sh $ sudo chmod +x /usr/local/bin/madwifi_adhoc.sh $ sudo vi /usr/local/bin/madwifi_adhoc.sh #!/bin/sh SSID=PSP_AULJM05500_L_MHP2Q000 /usr/local/bin/wlanconfig ath0 destroy /usr/local/bin/wlanconfig ath0 create wlandev wifi0 wlanmode adhoc /sbin/ifconfig ath0 down /sbin/iwconfig ath0 channel 1 /sbin/iwconfig ath0 essid ${SSID} /sbin/ifconfig ath0 up 2.ドライバとインタフェースの確認 インタフェースを初期化する $ sudo /usr/local/bin/madwifi_adhoc.sh ドライバ情報を確認する $ lsmod | grep ath ath_rate_sample 10560 1 ath_pci 201432 0 wlan 194288 4 wlan_scan_sta,ath_rate_sample,ath_pci ath_hal 350592 3 ath_rate_sample,ath_pci $ sudo modinfo ath_pci | head -10 filename /lib/modules/2.6.26-2-686/net/ath_pci.ko license Dual BSD/GPL version svn r4128 (trunk) description Support for Atheros 802.11 wireless LAN cards. ... インタフェースを確認する $ sudo ifconfig ath0 ath0 Link encap Ethernet HWaddr 06 90 cc ?? ? ?? UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 RX packets 380548 errors 0 dropped 0 overruns 0 frame 0 TX packets 1047218 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 txqueuelen 0 RX bytes 42128680 (40.1 MiB) TX bytes 147652484 (140.8 MiB) $ sudo iwconfig ath0 ath0 IEEE 802.11g ESSID "PSP_AULJM05500_L_MHP2Q000" Nickname "" Mode Ad-Hoc Frequency 2.412 GHz Cell BE E8 7A ?? ?? ?? Bit Rate 0 kb/s Tx-Power 18 dBm Sensitivity=1/1 Retry off RTS thr off Fragment thr off Encryption key off Power Management off Link Quality=21/70 Signal level=-75 dBm Noise level=-96 dBm Rx invalid nwid 8 Rx invalid crypt 0 Rx invalid frag 0 Tx excessive retries 0 Invalid misc 0 Missed beacon 0 3.その他 Atherosカードを取り付けると初期状態ではath5kドライバが使用される場合が多い madwifiドライバと干渉するのでath5kドライバを使用しないように設定した $ lsmod | grep ath ath5k 87648 0 mac80211 139808 1 ath5k cfg80211 21608 2 ath5k,mac80211 $ sudo ifconfig wlan0 down $ sudo modprobe -r ath5k $ sudo vi /etc/modprobe.d/blacklist blacklist ath5k ← ファイルの最終行に追加した 以上で設定は終わり。 上へ戻る コメント 名前 コメント
https://w.atwiki.jp/linuxlab/
Linux研究所へようこそ Linuxで学んだことをメモ代わりに記載していこうと思います。 基本的に利用しているディストリビューションはdebianです。 ハードウェア カーネル
https://w.atwiki.jp/sanosoft/pages/108.html
MariaDB+PHP7.2のインストール (Amazon Linux 2) amazon-linux-extrasを利用して、MariaDB+PHP7.2をインストールします。 1. miriadb-libs5.5のアンインストール Amazon Linux 2でもmiriadb-libsの5.5がデフォルトでインストールされているので、削除します。 $ rpm -qa | grep -i "mariadb" mariadb-libs-5.5.44-1.el7_1.x86_64 $ sudo yum remove mariadb-libs ※依存性関連で「postfix」も削除されてしまうので、MariaDBのインストール後に再インストールして下さい。 2. amazon-linux-extrasによるインストール まずインストールすることのできるソフトウェアおよびバージョンを確認します。 $ sudo amazon-linux-extras 0 ansible2 available [ =2.4.2 ] 1 emacs available [ =25.3 ] 2 memcached1.5 available [ =1.5.1 ] 3 nginx1.12 available [ =1.12.2 ] 4 postgresql9.6 available [ =9.6.6 =9.6.8 ] 5 python3 available [ =3.6.2 ] 6 redis4.0 available [ =4.0.5 ] 7 R3.4 available [ =3.4.3 ] 8 rust1 available [ =1.22.1 =1.26.0 ] 9 vim available [ =8.0 ] 10 golang1.9 available [ =1.9.2 ] 11 ruby2.4 available [ =2.4.2 =2.4.4 ] 12 nano available [ =2.9.1 ] 13 php7.2 available [ =7.2.0 =7.2.4 =7.2.5 ] 14 lamp-mariadb10.2-php7.2 available \ [ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 ] 15 libreoffice available [ =5.0.6.2_15 ] 16 gimp available [ =2.8.22 ] 17 docker=latest enabled [ =17.12.1 =18.03.1 ] 18 mate-desktop1.x available [ =1.19.0 =1.20.0 ] 19 GraphicsMagick1.3 available [ =1.3.29 ] 20 tomcat8.5 available [ =8.5.31 ] ここで14の「lamp-mariadb10.2-php7.2」の最新バージョンの「10.2.10_7.2.5」をインストールします。 $ sudo amazon-linux-extras install lamp-mariadb10.2-php7.2=10.2.10_7.2.5 次に以下のソフトウェアもインストールします。 $ sudo yum install mariadb-server $ sudo yum install mariadb-devel 3. MariaDBの初期設定 (1) Ver.10.3.1まで MariaDBの設定ファイルは「/etc/my.cnf」にありますが、「/etc/my.cnf.d」のファイルをインクルードしているだけなので、実体ファイルは「/etc/my.cnf.d」にあります。 初期にいくつかファイルはありますが、内容がほとんど書かれていないので、とりあえずバックアップフォルダを作成して、移動しておきます。 # mkdir /etc/my.cnf.d.bak # mv /etc/my.cnf.d/*.* /etc/my.cnf.d.bak 「/usr/share/mysql」にスペック別に設定ファイルのひな型がありますので、これを「/etc/my.cnf.d」にコピーします。 my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf ここでは、「my-medium.cnf」をコピーします。 # cp /usr/share/mysql/my-medium.cnf /etc/my.cnf.d コピーした設定ファイルを編集します。 # vi /etc/my.cnf.d/my-medium.cnf ■ InnoDBの使用 初期値はInnoDBが使用不可となっていますので、使用する場合には行頭の「#」を削除します。 【書き換え前】 # The MySQL server [mysqld] ・・・(途中省略)・・・ # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /var/lib/mysql/ #innodb_data_file_path = ibdata1 10M autoextend #innodb_log_group_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50 【書き換え後】 # The MySQL server [mysqld] ・・・(途中省略)・・・ # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /var/lib/mysql/ innodb_data_file_path = ibdata1 10M autoextend innodb_log_group_home_dir = /var/lib/mysql/ innodb_log_arch_dir = /var/lib/mysql/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 ※※※※「innodb_log_file_size」をコメント解除する場合の注意点※※※※「/var/lib/mysql」ディレクトリに・ib_logfile0・ib_logfile1が既に存在する場合に、これらのファイルサイズが「innodb_log_file_size」で指定したファイルサイズの範囲外の値となっていることがあります。その場合には、mysqldのログファイルに「InnoDB Error log file /var/lib/mysql/ib_logfile0 is of different size 0 5242880 bytes」というように記録され、InnoDBエンジンにエラーが発生して、InnoDBが無効になってしまうケースがあります。この場合には、既存の「ib_logfile0」「ib_logfile1」を削除して、MySQLを再起動して下さい。新しいログファイルが作成されます。 また、InnoDBをデフォルトストレージエンジンにしたい場合は、以下のように記述します。 [mysqld] ・・・(途中省略)・・・ default-storage-engine=InnoDB ■ PHPの日本語文字化け対策 MySQL4.1以降、PHPからアクセスすると文字化けすることが多くなってきたので、文字化け対策を行います。 これは、[mysqld]の項目に、1行「skip-character-set-client-handshake」を追加すればOKです。 # The MySQL server [mysqld] ・・・(途中省略)・・・ character-set-server=utf8 skip-character-set-client-handshake ■ バイナリログの自動削除 バイナリログは、実行したSQL文が記録されており、障害発生時の調査や障害復旧時に必要なものです。 ただし、このバイナリログは容量が大きく、サーバのHDDの容量を圧迫する原因ともなり、また自動で削除されません。 そこで、自動削除するためのオプションを追加します。 【書き換え前】 # The MySQL server [mysqld] ・・・(途中省略)・・・ # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin 【書き換え後】 # The MySQL server [mysqld] ・・・(途中省略)・・・ # Replication Master Server (default) # binary logging is required for replication log-bin=mysql-bin expire_logs_days = 30 「expire_logs_days」では、バイナリログを自動削除する日数を指定します。 デフォルトは「0」で自動削除しません。 なお、ログを削除するタイミングは、MySQLサーバの起動時、もしくはログローテート時となりますので、指定の日数を超えても直ぐに削除されるとは限りません。 ■max_allowed_packet値の変更 「max_allowed_packet」は、クライアントからサーバへパケットを送ることのできる最大のデータサイズを指定します。 デフォルトでは1MBなので、ある程度大きなデータを送ろうとすると、 MySQL Error[2006] MySQL server has gone away のようなエラーが発生することがあります。 そこでこの値を大きくします。 【書き換え前】 max_allowed_packet=1M 【書き換え後】 max_allowed_packet=16M ■ログ関係 各種ログが必要な場合は、以下の項目を追記します。 # Error log log_error="mysqld.log" log_warnings=1 # Query log general_log = ON general_log_file="sql.log" # Slow Query log slow_query_log=1 slow_query_log_file="slow.log" log_queries_not_using_indexes log_slow_admin_statements long_query_time=5 (2) Ver.10.3.2移行 ※設定ひな型ファイルは、10.3.2移行なくなりました。 公式では、以下のように発表されています。 This is intentional. We set generally useful defaults in the server. Configuration files are for the end user to modify the defaults, not for us to set them.(これは意図的なものです。 一般的に便利なデフォルトをサーバーに設定します。 構成ファイルは、エンドユーザーがデフォルトを変更するためのものであり、設定するためのものではありません。) MariaDBのデフォルト値から変更する部分のみ [mysqld] セクションに記述します。 # vi /etc/my.cnf.d/server.cnf [mysqld] innodb_data_home_dir = /var/lib/mysql/ innodb_log_group_home_dir = /var/lib/mysql/ character_set_client=utf8 character_set_server=utf8 collation_server=utf8_unicode_ci # Error log log_error="mysqld.log" log_warnings=1 # Query log general_log = ON general_log_file="sql.log" # Slow Query log slow_query_log=1 slow_query_log_file="slow.log" log_queries_not_using_indexes log_slow_admin_statements long_query_time=5 (3) 不要なプラグインを除外 「/etc/my.cnf.d/auth_gssapi.cnf」は不要なので、除外します。 $ sudo mv /etc/my.cnf.d/auth_gssapi.cnf /etc/my.cnf.d/auth_gssapi.cnf.bak (4) MariaDBの起動 設定が完了したら、MariaDBのサービスを起動します。 $ sudo systemctl start mariadb.service (5) 自動起動設定 サーバを再起動した場合に自動的にサービスが起動するようにします。 $ sudo systemctl enable mariadb.service (6) mysql_secure_installationの実行 MySQLのセキュリティを向上させるために「mysql_secure_installation」を実行します。 $ sudo /usr/bin/mysql_secure_installation このコマンドは、 rootユーザのパスワード文字列を設定する anonymousユーザを削除する(Yes|No) リモートからのrootログインを禁止する(Yes|No) TESTデータベースを削除する(Yes|No) 権限を再読み出しする(Yes|No) という作業を対話式に順次実行します。 (7) rootパスワードの設定 インストール直後のMySQLは「root」ユーザにパスワードが設定されていないので、パスワードを設定します。 ※前述の「mysql_secure_installation」を実行した場合には不要です。 MySQLにログインします。 $ sudo mysql -u root パスワードを設定します。 mysql SET PASSWORD FOR root@localhost=PASSWORD( xxxxxx ); mysql exit; パスワードなしでログインしてエラーが発生することを確認します。 $ sudo mysql -u root ERROR 1045 (28000) Access denied for user root @ localhost (using password NO) 設定したパスワードでログインできることを確認します。 $ sudo mysql -u root -p パスワードを入力します。 Enter password ログインできればOKです。 4. PHPの設定 (1) PHPのモジュールのインストール 追加でPHPのモジュールをインストールします。 $ sudo yum install php-mbstring $ sudo yum install php-gd $ sudo yum install php-xml $ sudo yum install php-xmlrpc $ sudo yum install php-opcache $ sudo yum install php-zip $ sudo yum install php-pear (2) エラーログファイルの作成 「/var/log/httpd/php_errors.log」というファイルを作成しておきます。 $ sudo touch /var/log/httpd/php_errors.log $ sudo chmod 777 /var/log/httpd/php_errors.log (3) php.iniの編集 $ sudo vi /etc/php.ini expose_php = Off error_reporting = E_ALL ~E_NOTICE ~E_DEPRECATED ~E_STRICT error_log = /var/log/httpd/php_errors.log post_max_size = 20M upload_max_filesize = 20M date.timezone = "Asia/Tokyo" session.gc_divisor = 100 session.gc_maxlifetime = 3600 mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass (4) Apacheの再起動 Apacheを再起動して、PHPを有効にします。 $ sudo systemctl restart httpd.service (5) php-fpmサービスの起動 $ sudo systemctl enable php-fpm.service $ sudo systemctl restart php-fpm.service
https://w.atwiki.jp/astro_dust/pages/21.html
Linux/Unix/Mac OS X 半永久的に未完成のページ。ちょびちょび書き足して行きます。 echo echoコマンドは文字通り山びこのようなコマンドです。 echoの後ろに好きな言葉を打って、エンターを押すと $echo hogehoge hogehoge とそっくりそのまま帰ってくる。 入力された物を、そのまま出力するような役割のコマンドである。一見、なんの使い道があるのかと 思いそうだが、このechoはC言語でいうprintf、fortranでいうwrite, printと同様の役割として 機能させることができる。その例を次に紹介しよう。 環境変数 環境変数とは、「変数」であるので、何かの値が代入されることになる。 デフォルトで環境変数は既に設定されているものもある。 例えば、PATH、SHELL、UESRなどがある。 もしそのPCのユーザー名が「Tenmongakusya」なら、 echo $USER Tenmongakusya と表示される。 また環境変数の一覧は env と打つとみることができる。 ・・・・ 環境変数の設定はexportコマンドを使う。 最初に誰もが躓く(?)PATHの設定についてはまた時間のある時にまとめます。 正規表現 端末上で何かコマンドを実行すると結果が同じく端末上に表示させる。 しかし、長いスクリプトやプログラムなどを走らせる際に端末にあれこれ表示されると美しくない。 下記の方法を用いると、スクリプトの実行中に端末が美しくなり、さらにデータ処理もやりやすくなったりと ご利益多数です。 例えば、 $echo "ahooo" (入力) ahooo (出力) この出力先を指定した場合にリダイレクトコマンド を用いる。例えば、 $echo "ahooo" test.txt とすると、echoで実行された結果がtest.txtに書き込まれる。つまり例えば、 $less "test.txt" ahooo という具体に。 では、この状態で $echo "ahooo" test.txt とすると、追加で書き込みされる。つまり、 $less "test.txt" ahooo ahooo となる。 " "は実行結果を、以前のデータを消去して、ファイルに記録する。 " "は追加で書き込みである。 さて、上のechoの例はいわゆる標準出力というもので、正常にコマンドが実行された場合の 手順である。世の中には標準エラー出力というものもあり、実行したコマンドにエラーが見つかると、 エラーメッセージとして端末に表示させる。 エラーメッセージをファイルに書き込む際は、 2 2 と2という数字を指定する。1は標準出力、2は標準エラー出力を表す。 実はいうと、標準出力も 1 1 とやってもできる。 パイプ | 出力と入力をつなげるコマンド。 分かりやすい例がlsとgrepの組み合わせで、lsで表示された結果からさらに特定のファイルを抽出するとき ls | grep hoge とするとlsで表示された中から"hoge"という文字列を持つものを抜き出して表示します。 実行すれば分かると思いますが、lsの標準出力はターミナルには表示されません。 標準出力はパイプによって、grepコマンドに代入されます。 for ループのコマンドである。 for loop in `jot $nloop` (Max OS X) for loop in `seq $nloop` (Linux) 1から$nloopの値まで繰り返す。 Max OS XとLinuxではコマンドが微妙に異なるので、注意しましょう。 nkf ファイルのエンコードを変更する。 nkf -g file fileの文字コードを表示 nkf -e file fileの文字コードをEUCに変換 nkf -s file fileの文字コードをShift-JISに変換 nkf -w file fileの文字コードをUTF-8に変換 など。 sed ファイルの置換を行う。 sed s/A/B/g filename でfilename内のAという文字をBに置き換えます。 if スクリプトに置ける条件分岐のtipsです。 基本構文 基本的には下記の書き方をします。 if [ 条件 ]; then 処理 fi もしくは、 if [ 条件 ]; then 処理1 else 処理2 fi または、 if [ 条件 ]; then 処理1 elif [ 条件 ]; then 処理2 else 処理3 fi です。また後で例を出しますが、スペースに位置に注意です。 条件分の書き方 条件を書く際に以下のようなオプションコマンドを指定する事で様々な条件を課すことができます。 よく使うのは、 -d ファイルがディレクトリなら -s ファイルのサイズがゼロ以上なら -e ファイルが存在するなら など。またその逆は!を付けて、 ! -s ファイルのサイズがゼロ以上でないなら などとする。 よくある単純なエラーはスペースの有無に由来するもので、 if [ ! -s filename ]; then が正しい。 参考 http //shellscript.sunone.me/if_and_test.html awk ファイル処理やスクリプトで大活躍のawkコマンドについてのあれこれ。 基本的には列の値を読み込む。 基本構文 awk {printf $n} filename ここでnは列の値。(ただしファイルは空白で区切られている場合) とても便利である。 head, tail awkはファイルの列のデータを読み取ったが、今度は特定の行のデータを読み取る。 head -n "filename" fileの頭からn行目までを取り出しなさい。 tail -m "filename" fileの尾からm行目までを取り出しなさい。 n行目からm行目を切り取りたい時。 head -n m ファイル | tail -n (m-n+1) ファイルの先頭からm行目までを切り取りなさい。 そして、切り取ったファイルの最後の{m-n+1}行を表示しなさい。 その他、便利な操作 ファイルの行数をカウントしたい。 wc filename でfilenameの行数、単語数、バイト数を表示させる。 それぞれ単独で表示させたかったら-c(バイト数), -w(単語数), -l(行数) のオプションをつければok。 例えば、 wc -l filename など。 数値ファイルの列を読み取りたい 例えば、以下のようなカンマで区切られたファイルがあったとする。 0.10000E+04,0.000628,0.10812E-03 0.91116E+03,0.000690,0.13368E-03 0.83022E+03,0.000757,0.16095E-03 0.75646E+03,0.000831,0.19393E-03 そこでawkコマンドで各列のデータを取り出す。 awk -F , {print $n} filename もしくは awk -F , {printf $n} filename とする。ここでprintとprintfの違いは、前者は改行を行い、後者は改行しない、という違いある。 ファイルが空白で区切られている場合は , を とかえればよい。 例えば、 awk -F , {print $1} filename を実行すると、 0.10000E+04 0.91116E+03 0.83022E+03 0.75646E+03 と表示される。 2つの行数が同じファイルを結合したい 例えば、 file1 a b c file2 1 2 3 というファイルがあったとすると、 paste -d " " file1 file2 file とするとfileには a 1 b 2 c 3 というファイルが作成させる。 paste -d, file1 file2 file とすると a,1 b,2 c,3 とカンマで区切る事ができる。